การตั้งค่าโฟลเดอร์ Content ของ WordPress ใน EFS
ครั้งนี้ผมจะมาเขียนบทความเกี่ยวกับการตั้งค่าโฟลเดอร์ Content ของ WordPress ใน EFS ต่อจากบทความ วิธีการสร้าง Amazon EFS และเชื่อมต่อกับ EC2
สิ่งที่ต้องมี
ก่อนอื่นเราต้องทำการติดตั้ง WordPress ใน Amazon Linux 2 นี้ก่อน จึงจะทำการตั้งค่าโฟลเดอร์ Content ของ WordPress ใน EFS ได้
* เราสามารถตั้งค่า EFS ได้โดยการเชื่อมต่อกับ EFS ด้วย/mnt/efs
*
เมื่อทำการติดตั้ง WordPress เรียบร้อยแล้ว มาเริ่มตั้งค่ากันในหัวข้อถัดไปได้เลย
การตั้งค่าโฟลเดอร์ Content ของ WordPress
เราจะทำการย้ายไฟล์ และสร้าง Symbolic Link ในหัวข้อนี้
ขั้นตอนแรกให้กลับไปที่โปรแกรม PuTTy
ก่อนที่จะทำการตั้งค่า ติดตั้งหรือจัดการข้อมูล Server ใน Amazon Linux 2 ด้วยโปรแกรม PuTTy เราต้องเปลี่ยนec2-user
ให้เป็นroot
ด้วยคำสั่งนี้ทุกครั้ง
sudo su -
เรียกใช้คำสั่งนี้เพื่อตรวจสอบ Filesystem ที่อยู่ใน EC2 Instance ของเรา
ที่มาร์คไว้คือพื้นที่จัดเก็บข้อมูลของ EFS
df
ก่อนที่จะทำการย้ายไฟล์หรือสร้าง Symbolic Link ไปยังที่ต่างๆ ต้องตรวจสอบ Path หรือ โฟลเดอร์ที่เรากำลังอยู่ ณ ตอนนั้นให้ดีก่อน จึงจะสามารถย้ายไฟล์ หรือ สร้าง Symbolic Link ได้โดยไม่มี Error เช่นในรูปภาพตัวอย่างนี้กำลังอยู่ที่ path /var/www/html/ ก็จะแสดงเป็น[root@ip-172-31-8-196 html] #
เป็นต้น
เรียกใช้คำสั่งนี้เพื่อย้ายข้อมูลในโฟลเดอร์ uploads ใน wp-content ไปที่โฟลเดอร์ uploads ใน efs
mv /var/www/html/wp-content/uploads /mnt/efs/uploads
เรียกใช้คำสั่งนี้เพื่อสร้าง Symbolic Link โดยให้โฟลเดอร์ uploads ใน wp-content เป็น Shortcut ให้กับ/mnt/efs/uploads
ln -sf /mnt/efs/uploads wp-content/uploads
Symbolic Link คือ ตัว Shortcut ที่เชื่อมโยงกับไฟล์หรือโฟลเดอร์ที่อยู่ที่อื่น สามารถอ่านเพิ่มเติมได้ที่ Symbolic Link คืออะไร? การสร้าง Symbolic Link ใน Linux
เพิ่มรูปภาพใน WordPress และสร้างโพสต์
มาที่หน้าเว็บไซต์ WordPress แล้วเพิ่มรูปภาพ
เลือกPosts
» คลิกAdd New
ใส่ข้อมูลลงใน Posts ตามต้องการ จากนั้นคลิกPublish
คลิกPublish
อีกครั้ง
คลิกView Post
หลังจากที่เขียน Post ในหน้า WordPress เสร็จแล้ว ให้กลับไปที่โปรแกรม PuTTy
จากนั้นเรียกใช้คำสั่งนี้เพื่อตรวจสอบไฟล์รูปภาพที่ถูก upload เข้ามาใน/mnt/efs/uploads
นี้
จะเห็นว่ามีไฟล์รูปที่ชื่อว่าSky.jpg
เข้ามาอยู่ในโฟลเดอร์นี้แล้ว
ll /mnt/efs/uploads/2021/11
ชื่อโฟลเดอร์จะถูกเปลี่ยนไปตามเดือน/ปี ที่เราได้ทำการ upload ข้อมูลใน WordPress ซึ่งผมได้ upload เดือน 11 ปี 2021 ก็จะใช้คำสั่งด้านบน
แต่ถ้าผมทำการ upload ในเดือน 12 ปี 2021 ผมต้องใช้คำสั่งด้านล่างนี้
ll /mnt/efs/uploads/2021/12
ประโยชน์ของการใช้งาน EFS
บริการ AWS EFS นี้เกิดขึ้นมาเพื่อตอบโจทย์ของระบบที่มีขนาดใหญ่และมี Throughput การประมวลผลสูงโดยเฉพาะ โดยผู้ใช้งาน AWS สามารถบริหารจัดการและเพิ่มขยายระบบได้อย่างง่ายดายและรวดเร็ว และสามารถเข้าถึงไฟล์ต่างๆ ได้จาก Namespace เดียวและมีโครงสร้างของไฟล์แบบเดียวกันทั้งหมด ดังนั้น AWS EFS นี้จึงเหมาะสมกับระบบเว็บไซต์ขนาดใหญ่, ระบบ High Performance Computing (HPC) และ Big Data ที่ต้องมีการเข้าถึงไฟล์จำนวนมากอยู่ตลอดเวลา
EFS นี้เป็น POSIX-compliant File Systems ที่สามารถเชื่อมต่อเข้ากับ EC2 Instance ได้ผ่านทาง NFS โดยไม่จำกัดขนาดสูงสุดในการใช้งาน รวมถึงไม่ต้องมีการทำ Provisioning ล่วงหน้าทั้งในแง่ของพื้นที่และ Bandwidth ซึ่ง AWS EFS จะทำการสำรองข้อมูลไฟล์ต่างๆ ของเราเอาไว้ในหลายๆ Availability Zones ให้โดยอัตโนมัติเพื่อความทนทาน โดยทุกครั้งที่ขนาดของ EFS ที่เราใช้งานมีการเติบโตมากขึ้น ระบบจะทำการเพิ่ม Performance ของระบบ Storage เหล่านี้ให้เราเองด้วยโดยอัตโนมัติ
สรุป
บทความนี้เป็นการสาธิตการย้ายไฟล์ และสร้าง Symbolic Link ใน wp-content/uploads ไปยัง /mnt/efs/uploads แล้วเวลาที่เราทำการเขียน Post ใน WordPress โดยมีการ upload รูปภาพนั้น ไฟล์รูปภาพก็จะเข้ามาอยู่ใน /mnt/efs/uploads นี้